
Ext.define('web.common.client.JsonStore', {
	extend : 'Ext.data.JsonStore',
/* define custom properties start */	
	storeId : '',
	model : '',
	proxyType : 'ajax',
		url : '',
		root : 'root',
		readerType : 'json',
	groupField : '',	
	autoLoad : false,
	sorters : '',
/* end */	
	constructor : function(cfg){
		var me = this;
		cfg = Ext.apply(me, {
			autoLoad : me.autoLoad,
			storeId : me.storeId,
			proxy : {
				type : me.prototype,
				url : me.url,
				reader : {
					type : me.readerType,
					root : me.root
				}
			},			
			model : me.model,
			sorters : me.sorters,
			groupField : me.groupField
		});	
		this.callParent([cfg]);	
	}
});

Ext.define('web.common.client.DirectStore', {
	extend : 'Ext.data.DirectStore',
/* define custom properties start */	
	storeId : '',
	model : '',	
	
	proxyType : 'direct',
	api : '',
	root : 'root',
	readerType : 'json',
	writerType : 'json',
	allowSingle : false,
	writeAllFields : true,	
	
	autoLoad : false,
/* end */	
	constructor : function(cfg){
		var me = this;
		cfg = Ext.apply(me, {
			autoLoad : me.autoLoad,
			storeId : me.storeId,
			proxy : {
				type : me.proxyType,
				api : me.api,
				reader : {
					type : me.readerType,
					root : me.root
				},
				writer : {
					type : me.writerType,
					allowSingle : me.allowSingle,
					writeAllFields : me.writeAllFields,
					root : me.root
				}
			},
			model : me.model
		});	
		this.callParent([cfg]);	
	}
});